Hash functions may be any function that can be used to map data of arbitrary size to data of fixed size. Typically, cryptographic hash functions are a class of one-way hash functions that have certain properties that make them suitable for use in cryptography. A cryptographic hash function may receive a message as input and provide a digest or signature of the message as output. The properties that make a desirable cryptographic hash function can include the ability to quickly compute a digest, the infeasibility of generating a message from its digest except by trying all possible messages, small changes to a message result in a new digest that appears uncorrelated with the old digest, and the infeasibility of finding two different messages with the same digest. Cryptographic hash functions can have many information-security applications, such as digital signatures, message authentication codes (MACs), among other forms of secure authentication.